Porty Nestandardni rychlost

Otázka od: Vojtech Albrecht

14. 11. 2002 10:47

Jiz delsi dobu se snazim vyresit problem s nestandardni rychlosti
komunikace.
Zkusil jsem nekolik komponent, i AsyncFree ale nedostala jsem se k zadnemu
vysledku. Problém je ten ze ve windows 2000 pri nestandardni rychlosti to
nejde vubec, nebo obcas. Vetsinou je pritomna hlaska o spatnem nastaveni
DCB. Rychlost kterou potrebuji komunikovat je cca 10200Bd.
Jake mam provest nastaveni, pripadne existuje komponenta ktera toto bez
problemu umi i pod win2000 (XP) ?
Byl bych rad i za pripadny odkaz kde bych se dozvedel o problematice vice.

Děkuji ......


***********************************************************
Delphi5 Prf.
Windows2000 Prf.
***********************************************************

Odpovedá: Lukas Gebauer

14. 11. 2002 10:19

Rychlost nastavitelna do Windows je limitovana moznostmi hardwaru..
tedy kdyz hardware neumi 10200bps (mimochodem baud a bit za sekundu..
to nejsou totozne jednotky!), tak ani kdyby ses rozkrajel, tak to
nenastavis!

A bezny seriovy port na PC tuto rychlost opravdu neumi.

> Jiz delsi dobu se snazim vyresit problem s nestandardni rychlosti
> komunikace. Zkusil jsem nekolik komponent, i AsyncFree ale nedostala
> jsem se k zadnemu vysledku. Problém je ten ze ve windows 2000 pri
> nestandardni rychlosti to nejde vubec, nebo obcas. Vetsinou je
> pritomna hlaska o spatnem nastaveni DCB. Rychlost kterou potrebuji
> komunikovat je cca 10200Bd. Jake mam provest nastaveni, pripadne
> existuje komponenta ktera toto bez problemu umi i pod win2000 (XP) ?
> Byl bych rad i za pripadny odkaz kde bych se dozvedel o problematice
> vice.


-- Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Synapse Delphi and Kylix TCP/IP Lib.

Odpovedá: Petr Fejfar

14. 11. 2002 11:44

From: "Lukas Gebauer" <gebylist@mlp.cz>

> Rychlost nastavitelna do Windows je limitovana
> moznostmi hardwaru tedy kdyz hardware neumi 10200bps > tak ani kdyby ses
rozkrajel, tak to nenastavis!

To je pravda, ale protoze muzes nastavit nekterou
z rychlosti, pro kterou plati:

   Rate = 1843200 div 16 div BRGlatch,

tak pro BRGlatch=11 dostanes Rate=10472

a to je dostatecne blizko pozadovane rychlosti 10200, pokud bude protejsi
strana pouzivat take clock=16*rate
a signal nebude vyznamne zkreslen.

V takovem pripade se zacatek stop bitu (pri 8N+1) predbehne o

   Diff = 1/10200/9-1/10472/9 ~ 23 us

a to bohate splnuje vzorkovaci teorem

    clock >= 2*rate

pri kterem je polovina periodu bitu rovna
1/10200/2 ~ 196 us.



HTH, pf